#ifndef MESH_H
#define MESH_H

#include <QVector>
#include <QVector3D>
#include <QVector2D>
#include <QOpenGLFunctions_3_3_Core>

struct Vertex
{
    QVector3D position;
//    QVector3D normal;
//    QVector2D texCoords;
//    // tangent
//    QVector3D tangent;
//    // bitangent
//    QVector3D bitangent;
};

struct Texture
{
    GLuint id;
    QString type;
    QString path;
};

class Mesh
{
public:
    Mesh();
    ~Mesh();

    GLboolean init();
    void draw();

public:
    QVector<Vertex> vertices;
    QVector<GLuint> indices;
    QVector<Texture> textures;

private:
    QOpenGLFunctions_3_3_Core *core;
    GLuint VAO, VBO, EBO;
};

#endif // MESH_H
